//
//  YYBaseTableViewController.swift
//  SinaStatuse（新浪微博）
//
//  Created by 李贤立 on 16/4/8.
//  Copyright © 2016年 李贤立. All rights reserved.
//

import UIKit
// 6.遵守代理
class YYBaseTableViewController: UITableViewController,YYVisitorViewDelegate {
    // 定义用户是否登录
    var userLogin = false
    // 在控制器加载view的时候调用，判断是否登录，是则直接调用父类方法，否则加载登录view
    override func loadView() {
        userLogin ? super.loadView() : setupVisitorView()
    }
    // MARK: - 7.实现代理方法
    func visitorViewDidClickRegisterBtn(visitorView visitorView: UIView) {
        didClickRegisterBBtn()
    }
    
    func visitorViewDidClickLoginBtn(visitorView visitorView: UIView) {
        didClickloginBBtn()
    }

    // MARK: 监听点击方法
    @objc private func didClickRegisterBBtn() {
        YYAlertView.alertToMessage("注册吧", controller: self)
    }
    @objc private func didClickloginBBtn() {
        YYAlertView.alertToMessage("登录吧", controller: self)
    }
    // 访客视图
    func setupVisitorView() {
        view = visitorView
        // 5.设置代理
        visitorView.delegate = self
        // 设置访客视图。self具体是什么类型看创建的子类，多态
//        print("\(self)")
        switch self {
        case is YYHomeTabViewController:
            visitorView.startRotation()
        case is YYMessageTabViewController:
            visitorView.setupVisitorViewInfo("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        case is YYDicoverTabViewController:
            visitorView.setupVisitorViewInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        case is YYProfileTableViewController:
            visitorView.setupVisitorViewInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        default: break
            
        }
        // 弹框
//        YYAlertView.alertToMessage("请登录", controller: self)
        // 设置导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(YYBaseTableViewController.didClickRegisterBBtn))
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(YYBaseTableViewController.didClickloginBBtn))
    }
    
    // MARK: - 懒加载
    /// 给别人调用的时候尽量简单
    /// 高内聚低耦合
    private lazy var visitorView: YYVisitorView = YYVisitorView()   // [[HMVisitorView alloc] init]
}
